class Solution(object):
    def commonFactors(self, a, b):
        """
        :type a: int
        :type b: int
        :rtype: int
        """
        ans = 0
        for i in range(1, min(a, b) + 1):
            if a % i == 0 and b % i == 0:
                ans += 1
        return ans
if __name__ == '__main__':
    a = 25
    b = 30
    print(Solution().commonFactors(a, b))

# 思路：
# 1. 先求出两个数的最小公倍数LCM(a,b)
# 2. 然后遍历1到LCM(a,b)的范围，判断是否有因子，如果有，则计数器加1
# 3. 最后返回计数器的值
# 4. 时间复杂度O(min(a,b))
# 5. 空间复杂度O(1)